package com.molichuxing.services.business.dto.response;

import com.molichuxing.framework.dto.ResponseRootDto;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 查询企业订单列表返回dto
 *
 * @author lws
 * @date 2020-06-15
 */
@Data
public class OrderEnterpriseBizDto extends ResponseRootDto {

    /**
     * 订单号 order_code
     */
    private Long orderCode;

    /**
     * 企业id（乙方） enterprise_id
     */
    private Integer enterpriseId;

    /**
     * 企业名称（乙方） enterprise_name
     */
    private String enterpriseName;

    /**
     * 订单状态（1：待付款，2：待交车，3：待起租，已交车） state
     */
    private Integer state;

    /**
     * 订单状态（1：待付款，2：待交车，3：待起租，已交车） state
     */
    private String stateStr;

    /**
     * 租期（1：1个月，n：n个月） tenancy
     */
    private Integer tenancy;

    /**
     * 还款周期（1：1个月，n：n个月） repayment_period
     */
    private Integer repaymentPeriod;

    /**
     * 起租日 lease_inception
     */
    private LocalDate leaseInception;

    /**
     * 截止日 lease_expire
     */
    private LocalDate leaseExpire;

    /**
     * 总租金 rental
     */
    private BigDecimal rental;

    /**
     * 总保证金 deposit
     */
    private BigDecimal deposit;

    /**
     * 父订单号 prent_order_code
     */
    private Long prentOrderCode;

    /**
     * 是否有续订单 is_have_suborder
     */
    private Boolean isHaveSuborder;

    /**
     * 创建时间 gmt_create
     */
    private LocalDateTime gmtCreate;

    /**
     * 修改时间 gmt_modified
     */
    private LocalDateTime gmtModified;

    /**
     * orders_enterprise
     */
    private static final long serialVersionUID = 1L;

    /**
     * 车辆数
     */
    private Integer vehicleCount;

    /**
     * 状态车辆数（在租数/退租数/过户数）
     */
    private String vehicleStateCount;

    /**
     * 显示金额
     */
    private String displayAmount;

    /**
     * 总金额
     */
    private String totalAmount;

    /**
     * 续租展示状态（0:展示，1:置灰，2:隐藏）
     */
    private Integer suborderState;

    /**
     * 交车时间，（单独用于车辆列表详情显示企业订单用)
     */
    private LocalDateTime handoverTime;


}
